/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package eliminar;

import apunte.Apunte;
import apunte.Carrera;
import apunte.ManejoApunte;
import apunte.Materia;
import apunte.Profesor;
import crear.cargarApunte;
import crear.crearCarrera;
import crear.crearMateria;
import crear.crearProfesor;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.lang.reflect.Method;
import java.sql.SQLException;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JButton;
import javax.swing.JList;
import javax.swing.JOptionPane;
import javax.swing.JPanel;

/**
 *
 * @author martinLequerica
 */
public class eliminarApunte {

    private LinkedList<Apunte> lla;
    private java.awt.List list1;
    private javax.swing.JScrollPane jScrollPane1;
    private VistaEliminar ve;
    private java.awt.List lista;
    private JButton botonMas, botonMenos, refresh;
    private ManejoApunte ma;
    private LinkedList<Apunte> ultimosCargados;
    private cargarApunte crgAP;

    public eliminarApunte() throws SQLException {
        ma = new ManejoApunte();
        lla = new LinkedList();
        lla = ma.getAllApuntes();
        eliminarApunteInicio(lla);


    }

    //si tengo que mostrar los apuntes
    public eliminarApunte(LinkedList<Apunte> llda) throws SQLException {
        ma = new ManejoApunte();
        eliminarApunteInicio(llda);

    }

    private void eliminarApunteInicio(final LinkedList<Apunte> lla) throws SQLException {
        ve = new VistaEliminar();
        Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
        ve.setLocation((d.width / 2) + 40, (d.height / 2) + 40);

        botonMas = ve.getBotonMas();
        botonMenos = ve.getBotonMenos();
        refresh = ve.getRefresh();
        lista = ve.getLista();


        cargarLinkedList();
        cargarLista(lla);


     botonMas.setVisible(false);


        refresh.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent ae) {
                botonMas.setEnabled(true);
                botonMenos.setEnabled(true);
                if (botonMas.isEnabled()) {

                    cargarLista(lla);
                } else {
                    Apunte ap1 = crgAP.ultimoCargado();

                    if (ap1.getNombreApunte() == "") {
                        cargarLista(lla);
                    } else {
                        JOptionPane.showMessageDialog(null, "nose");
                        lla.add(ap1);
                        cargarLista(lla);
                    }
                }



            }
        });

        botonMenos.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent ae) {

                botonMenos.setEnabled(false);
                try {
                    ma.eliminarApunte(lla.get(lista.getSelectedIndex()));
                    
                } catch (SQLException ex) {
                    Logger.getLogger(eliminarApunte.class.getName()).log(Level.SEVERE, null, ex);
                }
                lla.remove(lista.getSelectedIndex());


            }
        });



        ve.setVisible(true);

    }

    private void cargarLinkedList() throws SQLException {

        lla = ma.traerApuntes();
    }

    private void cargarLista(LinkedList<Apunte> lla) {
        lista.removeAll();
        Iterator<Apunte> i = lla.iterator();


        while (i.hasNext()) {
            Apunte next = i.next();

            lista.add(next.getNombreApunte());

        }


    }
}
